home *** CD-ROM | disk | FTP | other *** search
- /* CRTOPT PUBAUT(*ALL) */
- /*********************************************************************/
- /* PROGRAM- PGMREXIT */
- /* AUTHOR- GREG THIELEN */
- /* DATE WRITTEN- JANUARY 1, 1985 */
- /* PROGRAM DESCRIPTION- EXIT PROGRAM FOR DSPPGMMNU CMD. */
- /*********************************************************************/
- PGM PARM(&OPTION &PARM &TYPE &PARM2 &TEXT &LOGRQS +
- &SRCFILE &SRCLIB &OBJLIB &JOBD &RQSLEN +
- &RQSDTA512 &CF4 &CF11 &OBJEXIST)
- DCL VAR(&OPTION) TYPE(*CHAR) LEN(2)
- DCL VAR(&PARM) TYPE(*CHAR) LEN(10)
- DCL VAR(&TYPE) TYPE(*CHAR) LEN(4)
- DCL VAR(&PARM2) TYPE(*CHAR) LEN(21)
- DCL VAR(&TEXT) TYPE(*CHAR) LEN(50)
- DCL VAR(&LOGRQS) TYPE(*CHAR) LEN(4)
- DCL VAR(&SRCFILE) TYPE(*CHAR) LEN(10)
- DCL VAR(&SRCLIB) TYPE(*CHAR) LEN(10)
- DCL VAR(&OBJLIB) TYPE(*CHAR) LEN(10)
- DCL VAR(&JOBD) TYPE(*CHAR) LEN(10)
- DCL VAR(&RQSLEN) TYPE(*DEC) LEN(3 0)
- DCL VAR(&RQSDTA512) TYPE(*CHAR) LEN(512)
- DCL VAR(&CF4) TYPE(*LGL)
- DCL VAR(&CF11) TYPE(*LGL)
- DCL VAR(&OBJEXIST) TYPE(*LGL)
- DCL VAR(&RQSDTA256) TYPE(*CHAR) LEN(256)
- DCL VAR(&RQSERR) TYPE(*LGL)
- DCL VAR("E) TYPE(*LGL)
- DCL VAR(&R512INX) TYPE(*DEC) LEN(3 0)
- DCL VAR(&R256INX) TYPE(*DEC) LEN(3 0)
- DCL VAR(&MSGID) TYPE(*CHAR) LEN(7)
- DCL VAR(&MSGF) TYPE(*CHAR) LEN(10)
- DCL VAR(&MSGFLIB) TYPE(*CHAR) LEN(10)
- DCL VAR(&MSGDTA) TYPE(*CHAR) LEN(132)
- CHGVAR VAR(&RQSDTA256) VALUE('CALL PGMRCREAT ''')
- CHGVAR VAR(%SST(&RQSDTA256 17 10)) VALUE(&SRCFILE)
- CHGVAR VAR(%SST(&RQSDTA256 27 10)) VALUE(&SRCLIB)
- CHGVAR VAR(%SST(&RQSDTA256 37 10)) VALUE(&PARM)
- CHGVAR VAR(%SST(&RQSDTA256 47 3)) VALUE(&RQSLEN)
- CHGVAR VAR(&RQSERR) VALUE('0')
- CHGVAR VAR("E) VALUE('0')
- CHGVAR VAR(&R256INX) VALUE(50)
- CHGVAR VAR(&R512INX) VALUE(1)
- /* Examine request to expand embedded single quotes. */
- STRRQS: CHGVAR VAR(%SST(&RQSDTA256 &R256INX 1)) +
- VALUE(%SST(&RQSDTA512 &R512INX 1))
- IF COND(&R512INX *LT &RQSLEN) THEN(DO)
- IF COND((%SST(&RQSDTA512 &R512INX 1) *EQ '''') +
- *AND (*NOT "E)) THEN(CHGVAR VAR("E) +
- VALUE('1'))
- ELSE CMD(DO)
- CHGVAR VAR("E) VALUE('0')
- CHGVAR VAR(&R512INX) VALUE(&R512INX + 1)
- ENDDO
- IF COND(&R256INX *LT 255) THEN(DO)
- CHGVAR VAR(&R256INX) VALUE(&R256INX + 1)
- GOTO CMDLBL(STRRQS)
- ENDDO
- ELSE CMD(CHGVAR VAR(&RQSERR) VALUE('1'))
- ENDDO
- IF COND(&RQSERR) THEN(SNDPGMMSG MSGID(CPF9898) +
- MSGF(QCPFMSG) MSGDTA('Command too long to +
- submit') MSGTYPE(*ESCAPE))
- CHGVAR VAR(&R256INX) VALUE(&R256INX + 1)
- CHGVAR VAR(%SST(&RQSDTA256 &R256INX 1)) VALUE('''')
- SBMJOB JOB(&PARM) JOBD(&JOBD) RQSDTA(&RQSDTA256) +
- LOG(0)
- MONMSG MSGID(CPF0000)
- RCVMSG: RCVMSG MSGDTA(&MSGDTA) MSGID(&MSGID) MSGF(&MSGF) +
- MSGFLIB(&MSGFLIB)
- IF COND(&MSGID *NE ' ') THEN(DO)
- SNDPGMMSG MSGID(&MSGID) MSGF(&MSGF.&MSGFLIB) +
- MSGDTA(&MSGDTA)
- GOTO CMDLBL(RCVMSG)
- ENDDO
- ENDPGM
-